gtk_icon_snapshot (GtkWidget *widget,
GtkSnapshot *snapshot)
{
+ GtkIcon *self = GTK_ICON (widget);
GtkCssStyle *style = gtk_css_node_get_style (gtk_widget_get_css_node (widget));
GtkAllocation alloc;
gtk_css_style_snapshot_icon (style,
snapshot,
alloc.width, alloc.height,
- GTK_CSS_IMAGE_BUILTIN_NONE);
+ self->image);
}
static void
gtk_icon_init (GtkIcon *self)
{
gtk_widget_set_has_window (GTK_WIDGET (self), FALSE);
+ self->image = GTK_CSS_IMAGE_BUILTIN_NONE;
}
GtkWidget *
"css-name", css_name,
NULL);
}
+
+void
+gtk_icon_set_image (GtkIcon *self,
+ GtkCssImageBuiltinType image)
+{
+ self->image = image;
+}
#ifndef __GTK_ICON_PRIVATE_H__
#define __GTK_ICON_PRIVATE_H__
-#include "gtk/gtkwidget.h"
+#include "gtkwidget.h"
+#include "gtkcsstypesprivate.h"
G_BEGIN_DECLS
struct _GtkIcon
{
GtkWidget parent;
+ GtkCssImageBuiltinType image;
};
struct _GtkIconClass
GtkWidget * gtk_icon_new (const char *css_name);
+void gtk_icon_set_image (GtkIcon *self,
+ GtkCssImageBuiltinType image);
+
G_END_DECLS
#endif /* __GTK_ICON_PRIVATE_H__ */